The present invention relates to the coding and decoding of data, such as map data that indicate the distribution of first and second data segments in a transmitted data field.
The ATSC digital television standard presently provides for the transmission of successive data fields each comprising 313 segments extending over a 24.2 ms time interval. FIG. 1 discloses an exemplary format for a data field according to this standard. The first segment of each field is a field sync segment. The field sync segment is composed of four two-level segment sync symbols and space for 828 other two-level symbols. A portion of this space is used for a field sync, and another portion of this field is reserved. Each of the remaining segments of each field comprises four two-level segment sync symbols and 828 n-level data symbols where n is currently eight, although n could be other integers such as two, four, sixteen, etc.
As indicated by U.S. patent application Ser. No. 09/804,262 filed on Mar. 13, 2001, there is presently some interest in extending the ATSC digital television standard to allow a field to contain a mix of more robustly coded data (referred to herein as E-VSB data) and the data currently provided for in the standard (referred to herein as VSB data). Preferably, the data mix is employed on a segment-by-segment basis such that some segments of a field are used to transmit VSB data exclusively and the remaining segments of the field are used to transmit E-VSB segments exclusively. However, it is possible that all data segments of a field could contain either E-VSB data segments exclusively or VSB data segments exclusively. Moreover, it is also possible that the E-VSB data contained in some segments of a field may be coded with one robust coding rate and that the E-VSB data in other segments of the field may be coded at other robust coding rates.
As disclosed in the above mentioned ""262 application, a map that indicates which segments contain the more robust (E-VSB) data and which segments contain standard VSB data is preferably provided by the transmitter to the receiver so that the receiver can properly decode and otherwise process the received VSB and E-VSB data. Assuming that a field contains E-VSB data at different coding rates, the map in that case must also designate the coding rates that apply to the differently coded E-VSB data segments.
The ""262 application describes one mapping system. Co-pending U.S. patent application Ser. No. (7024) filed on describes another mapping system that reliably identifies which segments contain first data (such as VSB data) and which segments contain second data (such as E-VSB data). The present invention is directed to the coding and decoding of data, such as the map data that identifies which segments contain the first data and which segments contain the second data.
In accordance with one aspect of the present invention, a method of generating a code vector comprises the following: providing N input data elements; and, generating a code vector comprising 2N data elements in response to the N input data elements, the first N data elements of the code vector representing a replica of the N input data elements, and the second N data elements of the code vector comprising N parity data elements. The combination of the first N data elements and the second N data elements form a Kerdock code vector.
In accordance with another aspect of the present invention, a method is provided to decode a received Kerdock code vector in order to produce an output data signal. The received Kerdock code vector comprises 2N data elements. The method comprises the following: selecting one of a possible 2N Kerdock code vectors as a best estimate of the received Kerdock code vector, wherein the selected Kerdock vector comprises 2N data elements; and, using only the first N data elements of the selected Kerdock code vector as the output data signal.
In accordance with yet another aspect of the present invention, a method of decoding a systematic code vector to produce a decoded data signal comprises the following: receiving the systematic code vector; re-arranging the data elements in the received systematic code vector to form a non-systematic code vector; and, decoding the non-systematic code vector using a non-systematic decoder to produce the decoded data signal.
In accordance with still another aspect of the present invention, a method of decoding a code vector comprises the following: receiving an N element map data unit encoded in the form of a 2N element systematic Kerdock code vector, wherein the map data unit represents a distribution of first and second data segments in a received field; decoding the 2N element systematic Kerdock code vector by selecting one of a possible 2N Kerdock code vectors as a best estimate of the 2N element systematic Kerdock code vector, wherein the selected Kerdock code vector comprises 2N elements; and, using the first N elements of the selected Kerdock code vector as the N element map data unit.